f(X) → cons(X, f(g(X)))
g(0) → s(0)
g(s(X)) → s(s(g(X)))
sel(0, cons(X, Y)) → X
sel(s(X), cons(Y, Z)) → sel(X, Z)
f: {1}
cons: {1}
g: {1}
0: empty set
s: {1}
sel: {1, 2}
↳ CSR
↳ CSRInnermostProof
f(X) → cons(X, f(g(X)))
g(0) → s(0)
g(s(X)) → s(s(g(X)))
sel(0, cons(X, Y)) → X
sel(s(X), cons(Y, Z)) → sel(X, Z)
f: {1}
cons: {1}
g: {1}
0: empty set
s: {1}
sel: {1, 2}
The CSR is orthogonal. By [10] we can switch to innermost.
↳ CSR
↳ CSRInnermostProof
↳ CSR
↳ CSDependencyPairsProof
f(X) → cons(X, f(g(X)))
g(0) → s(0)
g(s(X)) → s(s(g(X)))
sel(0, cons(X, Y)) → X
sel(s(X), cons(Y, Z)) → sel(X, Z)
f: {1}
cons: {1}
g: {1}
0: empty set
s: {1}
sel: {1, 2}
Innermost Strategy.
Using Improved CS-DPs we result in the following initial Q-CSDP problem.
↳ CSR
↳ CSRInnermostProof
↳ CSR
↳ CSDependencyPairsProof
↳ QCSDP
↳ QCSDependencyGraphProof
G(s(X)) → G(X)
SEL(s(X), cons(Y, Z)) → SEL(X, Z)
SEL(s(X), cons(Y, Z)) → Z
f(g(X))
g(X)
g on positions {1}
f on positions {1}
SEL(s(X), cons(Y, Z)) → U(Z)
U(g(x_0)) → U(x_0)
U(f(x_0)) → U(x_0)
U(f(g(X))) → F(g(X))
U(g(X)) → G(X)
f(X) → cons(X, f(g(X)))
g(0) → s(0)
g(s(X)) → s(s(g(X)))
sel(0, cons(X, Y)) → X
sel(s(X), cons(Y, Z)) → sel(X, Z)
f(x0)
g(0)
g(s(x0))
sel(0, cons(x0, x1))
sel(s(x0), cons(x1, x2))
↳ CSR
↳ CSRInnermostProof
↳ CSR
↳ CSDependencyPairsProof
↳ QCSDP
↳ QCSDependencyGraphProof
↳ AND
↳ QCSDP
↳ QCSDPSubtermProof
↳ QCSDP
↳ QCSDP
G(s(X)) → G(X)
f(X) → cons(X, f(g(X)))
g(0) → s(0)
g(s(X)) → s(s(g(X)))
sel(0, cons(X, Y)) → X
sel(s(X), cons(Y, Z)) → sel(X, Z)
f(x0)
g(0)
g(s(x0))
sel(0, cons(x0, x1))
sel(s(x0), cons(x1, x2))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
G(s(X)) → G(X)
↳ CSR
↳ CSRInnermostProof
↳ CSR
↳ CSDependencyPairsProof
↳ QCSDP
↳ QCSDependencyGraphProof
↳ AND
↳ QCSDP
↳ QCSDPSubtermProof
↳ QCSDP
↳ PIsEmptyProof
↳ QCSDP
↳ QCSDP
f(X) → cons(X, f(g(X)))
g(0) → s(0)
g(s(X)) → s(s(g(X)))
sel(0, cons(X, Y)) → X
sel(s(X), cons(Y, Z)) → sel(X, Z)
f(x0)
g(0)
g(s(x0))
sel(0, cons(x0, x1))
sel(s(x0), cons(x1, x2))
↳ CSR
↳ CSRInnermostProof
↳ CSR
↳ CSDependencyPairsProof
↳ QCSDP
↳ QCSDependencyGraphProof
↳ AND
↳ QCSDP
↳ QCSDP
↳ QCSDPSubtermProof
↳ QCSDP
U(g(x_0)) → U(x_0)
U(f(x_0)) → U(x_0)
f(X) → cons(X, f(g(X)))
g(0) → s(0)
g(s(X)) → s(s(g(X)))
sel(0, cons(X, Y)) → X
sel(s(X), cons(Y, Z)) → sel(X, Z)
f(x0)
g(0)
g(s(x0))
sel(0, cons(x0, x1))
sel(s(x0), cons(x1, x2))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U(g(x_0)) → U(x_0)
U(f(x_0)) → U(x_0)
↳ CSR
↳ CSRInnermostProof
↳ CSR
↳ CSDependencyPairsProof
↳ QCSDP
↳ QCSDependencyGraphProof
↳ AND
↳ QCSDP
↳ QCSDP
↳ QCSDPSubtermProof
↳ QCSDP
↳ PIsEmptyProof
↳ QCSDP
f(X) → cons(X, f(g(X)))
g(0) → s(0)
g(s(X)) → s(s(g(X)))
sel(0, cons(X, Y)) → X
sel(s(X), cons(Y, Z)) → sel(X, Z)
f(x0)
g(0)
g(s(x0))
sel(0, cons(x0, x1))
sel(s(x0), cons(x1, x2))
↳ CSR
↳ CSRInnermostProof
↳ CSR
↳ CSDependencyPairsProof
↳ QCSDP
↳ QCSDependencyGraphProof
↳ AND
↳ QCSDP
↳ QCSDP
↳ QCSDP
↳ QCSDPSubtermProof
SEL(s(X), cons(Y, Z)) → SEL(X, Z)
f(X) → cons(X, f(g(X)))
g(0) → s(0)
g(s(X)) → s(s(g(X)))
sel(0, cons(X, Y)) → X
sel(s(X), cons(Y, Z)) → sel(X, Z)
f(x0)
g(0)
g(s(x0))
sel(0, cons(x0, x1))
sel(s(x0), cons(x1, x2))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
SEL(s(X), cons(Y, Z)) → SEL(X, Z)
↳ CSR
↳ CSRInnermostProof
↳ CSR
↳ CSDependencyPairsProof
↳ QCSDP
↳ QCSDependencyGraphProof
↳ AND
↳ QCSDP
↳ QCSDP
↳ QCSDP
↳ QCSDPSubtermProof
↳ QCSDP
↳ PIsEmptyProof
f(X) → cons(X, f(g(X)))
g(0) → s(0)
g(s(X)) → s(s(g(X)))
sel(0, cons(X, Y)) → X
sel(s(X), cons(Y, Z)) → sel(X, Z)
f(x0)
g(0)
g(s(x0))
sel(0, cons(x0, x1))
sel(s(x0), cons(x1, x2))